package fi.helsinki.cs.scheduler3000;

/**
 * @author Team TA's
 */
import java.util.HashMap;

public class FullReport extends Report {

    /**
     * Konstruktori luo FullReport -olion
     * @param schedule aikataulu, josta raportti muodostetaan
     * @param options aikajänne, jolta raporti tehdään
     */
    public FullReport(Schedule schedule, HashMap<String, Object> options) {
        super(schedule, options);
    }

    /**
     * Tulostusmetodi määrittelee aikataulun tulostuksen ulkoasun
     * @return palauttaa tulosteen merkkijonona
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();

        for (Weekday.Day day : schedule.getSchedule().keySet()) {
            sb.append(day);
            sb.append(":\n----\n");
            for (Event event : schedule.getSchedule().get(day)) {
                sb.append(event.getTitle());
                sb.append("\nat ");
                sb.append(event.getStartTime());
                sb.append("-");
                sb.append(event.getEndTime());
                sb.append("\nin ");
                sb.append(event.getLocation());
            }
            sb.append("\n\n");
        }

        return sb.toString();
    }
}
